﻿///////////////////////////////////////////////////////////////
// This is generated code. 
//////////////////////////////////////////////////////////////
// Code is generated using LLBLGen Pro version: 2.5
// Code is generated on: Thursday, October 16, 2008 1:31:23 PM
// Code is generated using templates: SD.TemplateBindings.SharedTemplates.NET20
// Templates vendor: Solutions Design.
// Templates version: 
//////////////////////////////////////////////////////////////
using System;
using SD.LLBLGen.Pro.ORMSupportClasses;

namespace NL.ADA.ConfigService.DAL.HelperClasses
{
	
	// __LLBLGENPRO_USER_CODE_REGION_START AdditionalNamespaces
	// __LLBLGENPRO_USER_CODE_REGION_END
	
	
	/// <summary>
	/// Singleton implementation of the FieldInfoProvider. This class is the singleton wrapper through which the actual instance is retrieved.
	/// </summary>
	/// <remarks>It uses a single instance of an internal class. The access isn't marked with locks as the FieldInfoProviderBase class is threadsafe.</remarks>
	internal sealed class FieldInfoProviderSingleton
	{
		#region Class Member Declarations
		private static readonly IFieldInfoProvider _providerInstance = new FieldInfoProviderCore();
		#endregion
		
		/// <summary>private ctor to prevent instances of this class.</summary>
		private FieldInfoProviderSingleton()
		{
		}

		/// <summary>Dummy static constructor to make sure threadsafe initialization is performed.</summary>
		static FieldInfoProviderSingleton()
		{
		}

		/// <summary>Gets the singleton instance of the FieldInfoProviderCore</summary>
		/// <returns>Instance of the FieldInfoProvider.</returns>
		public static IFieldInfoProvider GetInstance()
		{
			return _providerInstance;
		}
	}

	/// <summary>Actual implementation of the FieldInfoProvider. Used by singleton wrapper.</summary>
	internal class FieldInfoProviderCore : FieldInfoProviderBase
	{
		/// <summary>Initializes a new instance of the <see cref="FieldInfoProviderCore"/> class.</summary>
		internal FieldInfoProviderCore()
		{
			Init();
		}

		/// <summary>Method which initializes the internal datastores.</summary>
		private void Init()
		{
			base.InitClass( (5 + 0));
			InitApplicationEntityInfos();
			InitApplicationModeModifiedEntityInfos();
			InitConfigEntityInfos();
			InitConfigTypeEntityInfos();
			InitModeEntityInfos();

			base.ConstructElementFieldStructures(InheritanceInfoProviderSingleton.GetInstance());
		}

		/// <summary>Inits ApplicationEntity's FieldInfo objects</summary>
		private void InitApplicationEntityInfos()
		{
			base.AddElementFieldInfo("ApplicationEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ApplicationFieldIndex.Id, 0, 0, 10);
			base.AddElementFieldInfo("ApplicationEntity", "Description", typeof(System.String), false, false, false, true,  (int)ApplicationFieldIndex.Description, 2147483647, 0, 0);
			base.AddElementFieldInfo("ApplicationEntity", "Modified", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ApplicationFieldIndex.Modified, 0, 0, 0);
			base.AddElementFieldInfo("ApplicationEntity", "Created", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ApplicationFieldIndex.Created, 0, 0, 0);
			base.AddElementFieldInfo("ApplicationEntity", "AppCode", typeof(System.String), false, false, false, false,  (int)ApplicationFieldIndex.AppCode, 50, 0, 0);
		}
		/// <summary>Inits ApplicationModeModifiedEntity's FieldInfo objects</summary>
		private void InitApplicationModeModifiedEntityInfos()
		{
			base.AddElementFieldInfo("ApplicationModeModifiedEntity", "ApplicationId", typeof(System.Int32), true, false, false, false,  (int)ApplicationModeModifiedFieldIndex.ApplicationId, 0, 0, 10);
			base.AddElementFieldInfo("ApplicationModeModifiedEntity", "ModeId", typeof(System.Int32), true, false, false, false,  (int)ApplicationModeModifiedFieldIndex.ModeId, 0, 0, 10);
			base.AddElementFieldInfo("ApplicationModeModifiedEntity", "Modified", typeof(System.DateTime), false, false, false, false,  (int)ApplicationModeModifiedFieldIndex.Modified, 0, 0, 0);
		}
		/// <summary>Inits ConfigEntity's FieldInfo objects</summary>
		private void InitConfigEntityInfos()
		{
			base.AddElementFieldInfo("ConfigEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ConfigFieldIndex.Id, 0, 0, 10);
			base.AddElementFieldInfo("ConfigEntity", "Description", typeof(System.String), false, false, false, true,  (int)ConfigFieldIndex.Description, 2147483647, 0, 0);
			base.AddElementFieldInfo("ConfigEntity", "Key", typeof(System.String), false, false, false, false,  (int)ConfigFieldIndex.Key, 50, 0, 0);
			base.AddElementFieldInfo("ConfigEntity", "Value", typeof(System.String), false, false, false, true,  (int)ConfigFieldIndex.Value, 50, 0, 0);
			base.AddElementFieldInfo("ConfigEntity", "Modified", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ConfigFieldIndex.Modified, 0, 0, 0);
			base.AddElementFieldInfo("ConfigEntity", "Created", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ConfigFieldIndex.Created, 0, 0, 0);
			base.AddElementFieldInfo("ConfigEntity", "ModeId", typeof(System.Int32), false, true, false, false,  (int)ConfigFieldIndex.ModeId, 0, 0, 10);
			base.AddElementFieldInfo("ConfigEntity", "ApplicationId", typeof(System.Int32), false, true, false, false,  (int)ConfigFieldIndex.ApplicationId, 0, 0, 10);
			base.AddElementFieldInfo("ConfigEntity", "ConfigType", typeof(System.Int32), false, true, false, false,  (int)ConfigFieldIndex.ConfigType, 0, 0, 10);
		}
		/// <summary>Inits ConfigTypeEntity's FieldInfo objects</summary>
		private void InitConfigTypeEntityInfos()
		{
			base.AddElementFieldInfo("ConfigTypeEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ConfigTypeFieldIndex.Id, 0, 0, 10);
			base.AddElementFieldInfo("ConfigTypeEntity", "Description", typeof(System.String), false, false, false, true,  (int)ConfigTypeFieldIndex.Description, 2147483647, 0, 0);
			base.AddElementFieldInfo("ConfigTypeEntity", "Modified", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ConfigTypeFieldIndex.Modified, 0, 0, 0);
			base.AddElementFieldInfo("ConfigTypeEntity", "Created", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ConfigTypeFieldIndex.Created, 0, 0, 0);
			base.AddElementFieldInfo("ConfigTypeEntity", "Name", typeof(System.String), false, false, false, true,  (int)ConfigTypeFieldIndex.Name, 50, 0, 0);
		}
		/// <summary>Inits ModeEntity's FieldInfo objects</summary>
		private void InitModeEntityInfos()
		{
			base.AddElementFieldInfo("ModeEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ModeFieldIndex.Id, 0, 0, 10);
			base.AddElementFieldInfo("ModeEntity", "Name", typeof(System.String), false, false, false, true,  (int)ModeFieldIndex.Name, 100, 0, 0);
			base.AddElementFieldInfo("ModeEntity", "Description", typeof(System.String), false, false, false, true,  (int)ModeFieldIndex.Description, 2147483647, 0, 0);
			base.AddElementFieldInfo("ModeEntity", "Modified", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ModeFieldIndex.Modified, 0, 0, 0);
			base.AddElementFieldInfo("ModeEntity", "Created", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ModeFieldIndex.Created, 0, 0, 0);
		}
		
	}
}




